// 定义验证规则
const joi = require('joi');

// 用户的密码的验证规则(登录/注册)
const username = joi.string().alphanum().min(1).max(10).required();
const password = joi.string().pattern(/^[a-zA-Z0-9]{6,12}$/).required();

// 验证注册 和 登录表单数据的规则对象
exports.reg_login_schema = {
    body: {
        username,
        password
    }
}

// 更新用户信息 的规则
const id = joi.number().integer().min(1).required();
const nickname = joi.string().required();
const email = joi.string().email().email().required();

//更新用户基本信息
exports.update_userinfo_schema = {
    // 对 req.body 内的数据 进行数据验证
    body:{
        id,
        nickname,
        email
    }
}

// 重置密码
exports.update_password_schema= {
    body:{
        oldPwd: password,
        // 新密码: 不能和就密码一致的前提下,还得符合密码规则
        newPwd:joi.not(joi.ref('oldPwd')).concat(password)
    }
}

// 更新头像 base64格式的字符串
const avatar = joi.string().dataUri().required();
exports.update_avatar_schema= {
    body:{
        avatar
    }
}